/*
 * CommunicationModuleBridgeForStubSatellite.h
 *
 *  Created on: Dec 13, 2014
 *      Authors: Avihay Avitan & Stefan Farcas
 */

#ifndef COMMUNICATIONMODULEBRIDGEFORSTUBSATELLITE_H_
#define COMMUNICATIONMODULEBRIDGEFORSTUBSATELLITE_H_

#include "CommunicationModuleBridgeFromZMQ.hpp"

namespace CommunicationModuleSpace {

/**
 * CommunicationModuleBridgeForStubSatellite is an extenuation of CommunicationModuleBridgeFromZMQ, providing communication functionality for satellite stub using ZMQ
 */
class CommunicationModuleBridgeForStubSatellite : public CommunicationModuleBridgeFromZMQ{
public:
	CommunicationModuleBridgeForStubSatellite();
	virtual ~CommunicationModuleBridgeForStubSatellite();

public:
	void setLogger(Logger * logger);
	bool receiveINITCMD(bool isSendACK);
	bool receiveGOCMD(int numOfHealthDataToSend, int numOfStatusDataToSend);
	bool receiveCommandsToSat(int numOfFailuresToSend);

private:
	Logger * logger;

};

} /* namespace CommunicationModuleSpace */

#endif /* COMMUNICATIONMODULEBRIDGEFORSTUBSATELLITE_H_ */
